﻿using DAL.Model;
using DAL.Model.Local;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace DAL
{
    public interface ICouchRepository
    {
        /// <summary>
        /// Zwraca Liste Obiektow SunHotel... Ktore zawieraja 
        /// dane na temat naszych hoteli szukamy po Miasto
        /// </summary>
        /// <param name="city">Miasto po jakim wyszukujemy</param>
        /// <param name="take">Ilosc zwracanych rekordow</param>
        /// <param name="skip">Ilosc pominietych rekordow</param>
        /// <returns>Lista hoteli lub null w przypadku bledu</returns>
        List<SunHotelsHotelEntities> GetAllRecordByCountry(string city, int take, int skip);
        /// <summary>
        ///Zwraca Liste Obiektow SunHotel...Ktore zawieraja
        /// dane na temat naszych hoteli szukamy po kraj
        /// </summary>
        /// <param name="country">Kraj po jakim wyszukujemy</param>
        /// <param name="take">Ilosc zwracanych rekordow</param>
        /// <param name="skip">Ilosc pominietych rekordow</param>
        /// <returns>Lista hoteli lub null w przypadku bledu</returns>
        List<SunHotelsHotelEntities> GetAllRecordByCity(string city, int take, int skip);
        /// <summary>
        /// Zwraca pojedynczy element bedacy reprezentantem hotelu 
        /// </summary>
        /// <param name="token">Token po jakim chcemy szukac</param>
        /// <returns>reprezentant hotelu lub null w przypadku bledu</returns>
        HotelDetails GetRecordByToken(string token);


        //opis się zrobi ;)
        HotelsResult GetAllRecord(int take, int skip);
    }
}
